前面的文章有學到分類器樣板了
今天的例子跟 https://ithelp.ithome.com.tw/articles/10305851 用到的一樣
然後會套用 https://ithelp.ithome.com.tw/articles/10306842 裡面的樣板
只需要把分類器的code補上
首先創建SVC 物件並帶入kernel=linear
然後擬合出模型
from sklearn.svm import SVC
classifier = SVC(kernel=linear, random_state = 0)
classifier.fit(x_train, y_train)
接著可以執行所有樣板上的code就完成了
利用混淆矩陣的值可以發現被正確預測的值有90個, 錯誤預測的值有10個
[[66,2],
[8,24]]
下圖是訓練集的分類結果
紅色是0, 不會去買SUV的group
綠色是1, 會去買SUV的group
中間很顯然是一條linear 直線將數據切割, 這是因為剛剛我們用的參數kernel 是linear
代表我們指定要用線性分類器
仍然可以看到很多點沒有被分對
下圖是測試集的分類結果
一樣也可以看到很多點沒有被分對
從上面結果看來,使用線性SVM演算法的錯誤率是10%
跟Logistic regression 演算法相比沒有好太多
之後會學習把kernel 從linear 換成rbf
分類器性能會大幅提升
Reference
文章中的所有圖引用自Machine Learning A-Z 課程中老師示範的圖